package com.weiqiao.api.domain;

import lombok.Data;

import java.util.List;

/**
 * @author ChenYF
 * @Description
 * @Date 2020/7/28 15:40
 */
@Data
public class OrderApiEntity {
    private String order_no;            // 订单编号
    private String bank_order_no;       // 银行订单编号
    private int company_id;             // 公司id
    private int user_id;                // 用户id == 会员id
    private String nickname;            // 用户昵称
    private String user_name;           // 用户名称
    private String icon_url;            // 用户头像
    private String phone;               // 联系电话
    private String id_code;             // 身份证号码
    private int order_type;             // 订单类型：0：信用卡订单 1：积分兑换订单
    private String remark;              // 订单备注

    /**
     * 积分兑换时 进行积分的记录以及订单的金额统计
     */
    private double amount_total;        // 订单总额
    private double score;               // 使用前积分
    private int deduct_score;           // 抵扣积分

    /**
     * 订单状态
     * 信用卡订单状态： 0：进件  1：初审 2：核卡 4：激活 8：首刷 16：审核失败 32：无数据
     * 积分兑换订单：  50：审核中 51：未通过 52：已通过 53：未收到 54：已收到
     * 公用状态：100：作废订单
     */
    private int state;
    private String create_date;                 // 创建日期
    private String formart_create_date;         // 格式化时间（yyyy-mm-dd，方便于定时器同步订单）
    private String final_id;                    // 最后操作人
    private String final_name;                  // 最后操作人
    private String final_date;                  // 最后操作日期
    private List<order_item> orderItemList;     // List< order_item > 该订单的所有产品项List
    private int finance_result;                 // 结算状态 0:未结算 1：已结算
    private int is_distributor_statistics;      // 是否已分销统计 0：未统计 1，已统计

    /**
     * 以下字段，只有在信用卡订单是进行显示
     */
    private String team_id;                     // 团队id
    private String team_name;                   // 团队名称
    private int recommend_id;                   // 邀请人id
    private String recommend_name;              // 邀请人姓名

    //订单项详情
    @Data
    public static class order_item {
        private String commodity_id;        // 商品id
        private String commodity_name;      // 商品名称
        private String pro_title;           // 产品副标题
        private double amount;              // 总计
        private String cover_url;           // 封面图
        private String variety_id;          // 商品一级类别id
        private String second_variety_id;   // 二级分类id
        private String show_variety;        // 产品分类."-"分割（显示用）

        /**
         * 信用卡商品额度
         */
        private int credits;                // 批款额度
        private String cardCode;            // 卡片唯一标识

        /**
         * 积分兑换商品
         */
        private double vip_price;           // 产品单价
        private int num;                    // 购买数量
        private String key;                 // 兑换码
        private String account_number;      // 虚拟积分商品兑换归属账号（例如：QQ号，游戏账号等）
    }
}
